package org.eiahe.hr.training.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.eiahe.hr.training.domain.HrTrainingMaterial;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 培训课件视图对象 hr_training_material
 *
 * @author zhangnn
 */
@Data
@AutoMapper(target = HrTrainingMaterial.class)
public class HrTrainingMaterialVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 课件ID
     */
    private Long materialId;

    /**
     * 课件名称
     */
    private String materialName;

    /**
     * 课件类型（1文档 2视频 3音频 4其他）
     */
    private String materialType;

    /**
     * 课件分类
     */
    private String materialCategory;

    /**
     * 文件地址
     */
    private String fileUrl;

    /**
     * 文件大小（字节）
     */
    private Long fileSize;

    /**
     * 文件格式
     */
    private String fileFormat;

    /**
     * 封面图片
     */
    private String coverUrl;

    /**
     * 时长（秒）
     */
    private Integer duration;

    /**
     * 可见部门ID
     */
    private String deptIds;

    /**
     * 可见部门名称
     */
    private String deptNames;

    /**
     * 是否公开（0否 1是）
     */
    private String isPublic;

    /**
     * 查看次数
     */
    private Integer viewCount;

    /**
     * 下载次数
     */
    private Integer downloadCount;

    /**
     * 上传者
     */
    private Long uploadBy;

    /**
     * 上传者姓名
     */
    private String uploadByName;

    /**
     * 上传时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date uploadTime;

    /**
     * 状态（0停用 1正常）
     */
    private String status;

    /**
     * 排序
     */
    private Integer sortOrder;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

}
